5.15. Встроенные функции в Lua
Встроенные функции в Lua
Lua использует двадцать два зарезервированных ключевых слова. Все они являются частью синтаксиса языка и недоступны для использования в качестве идентификаторов.
| Ключевое слово | Значение | Пример |
|---|---|---|
and | Логическое И. Возвращает первый ложный операнд или последний истинный. | if a > 0 and b < 10 then print("OK") end |
break | Прерывает выполнение ближайшего цикла. | for i = 1, 10 do if i == 5 then break end end |
do | Начинает блок кода. Используется с end для группировки операторов. | do local x = 5; print(x) end |
else | Ветка условия, выполняемая при ложном результате выражения if. | if x > 0 then print("плюс") else print("минус") end |
elseif | Дополнительная проверка условия после основного if. | if x < 0 then print("минус") elseif x == 0 then print("ноль") end |
end | Завершает блок кода: функцию, условие, цикл или таблицу. | function f() return 1 end |
false | Логическое значение «ложь». Единственное ложное значение кроме nil. | local active = false |
for | Организует цикл. Поддерживает числовой и обобщённый варианты. | for i = 1, 5 do print(i) end |
function | Объявляет функцию или анонимное функциональное выражение. | function add(a, b) return a + b end |
if | Условный оператор. Выполняет блок кода при истинном условии. | if temperature > 100 then boil() end |
in | Используется в обобщённом цикле for для перебора итератора. | for k, v in pairs(table) do print(k, v) end |
local | Объявляет переменную с локальной областью видимости. | local counter = 0 |
nil | Отсутствие значения. Единственное ложное значение кроме false. | local x = nil |
not | Логическое НЕ. Инвертирует булево значение операнда. | if not ready then wait() end |
or | Логическое ИЛИ. Возвращает первый истинный операнд или последний ложный. | name = input or "Гость" |
repeat | Начинает цикл с постусловием. Тело выполняется минимум один раз. | repeat x = x - 1 until x == 0 |
return | Завершает выполнение функции и возвращает значение вызывающему коду. | function square(n) return n * n end |
then | Отделяет условие от тела блока в операторе if. | if valid then process() end |
true | Логическое значение «истина». | local enabled = true |
until | Условие завершения цикла repeat. Цикл продолжается, пока условие ложно. | repeat read() until eof |
while | Цикл с предусловием. Проверяет условие перед каждой итерацией. | while i < 10 do i = i + 1 end |
Ключевые слова goto и метки вида ::метка:: доступны в Lua 5.2 и новее для организации безусловных переходов. Ключевое слово continue отсутствует в синтаксисе Lua; его функциональность достигается через комбинацию goto и меток.